package com.deep.deepenterpise.service.unit;

import com.deep.deepenterpise.common.result.DrResult;
import com.deep.deepenterpise.model.bo.DrUserInfoBo;
import com.deep.deepenterpise.model.to.unit.*;
import com.deep.deepenterpise.model.vo.unit.DrUnitCheckItemVo;

import java.util.List;

/**
 * @author xyz
 * @version 1.0
 * @title IDrDangerService
 * @description
 * @create 2024/6/23 08:43
 */
public interface IDrDangerService {
    /**
     * @return com.deep.deepenterpise.common.result.DrResult
     * @Auth xyz
     * @Desc //TODO 添加隐患历史记录
     * @Time 08:47 2024/6/23
     * @Param [drDangerHistoryTo, drUserUuid]
     */
    DrResult postAddDangerHistory(DrDangerHistoryTo drDangerHistoryTo, String drUserUuid);


    /**
     * @return com.deep.deepenterpise.common.result.DrResult
     * @Auth xyz
     * @Desc //TODO 获取隐患清单列表
     * @Time 11:52 2024/6/24
     * @Param [drDangerPageTo]
     */
    DrResult postDrCheckDangerList(DrDangerPageTo drDangerPageTo);

    /**
     * @return com.deep.deepenterpise.common.result.DrResult
     * @Auth xyz
     * @Desc //TODO 隐患子清单列表
     * @Time 13:22 2024/6/24
     * @Param [drDangerSlavePageTo]
     */
    DrResult postDrCheckDangerSlaveList(DrDangerSlaveTo drDangerSlaveTo);

    /**
     * @return com.deep.deepenterpise.common.result.DrResult
     * @Auth xyz
     * @Desc //TODO 指派检查人
     * @Time 15:02 2024/6/24
     * @Param [drCheckPersonTo]
     */
    DrResult drChooseCheckPerson(DrCheckPersonTo drCheckPersonTo);

    /**
     * @return com.deep.deepenterpise.common.result.DrResult
     * @Auth xyz
     * @Desc //TODO 隐患整改审核
     * @Time 15:27 2024/6/24
     * @Param [drDangerAuditTo]
     */
    DrResult postDrDangerAudit(String drUserUuid, DrDangerAuditTo drDangerAuditTo);

    /**
     * @return com.deep.deepenterpise.common.result.DrResult
     * @Auth xyz
     * @Desc //TODO 保存隐患历史记录
     * @Time 17:57 2024/6/24
     * @Param [drUserInfoBo, drDangerHistoryTo, drOrderNum, drDangerNum, drNowTime]
     */
    DrResult saveDangerHistory(DrUserInfoBo drUserInfoBo, DrDangerHistoryTo drDangerHistoryTo, Integer drType,
                               String drOrderNum, String drDangerNum, long drNowTime,
                               List<DrUnitCheckItemVo> drCheckItemVos);

    /**
     * @return com.deep.deepenterpise.common.result.DrResult
     * @Auth xyz
     * @Desc //TODO 提交整改意见
     * @Time 09:57 2024/6/25
     * @Param [drUserUuid, drDangerPutTo]
     */
    DrResult postDrDangerReviseSubmit(String drUserUuid, DrDangerPutTo drDangerPutTo);

    /**
     * @return com.deep.deepenterpise.common.result.DrResult
     * @Auth xyz
     * @Desc //TODO 获取待检查列表
     * @Time 10:39 2024/6/25
     * @Param [drUserUuid, drDangerSlavePageTo]
     */
    DrResult postDrWaitCheckList(String drUserUuid, DrDangerSlavePageTo drDangerSlavePageTo);
}
